###
 # @Author: Clark
 # @Email: haixuanwoTxh@gmail.com
 # @Date: 2021-12-01 10:44:50
 # @LastEditors: Clark
 # @LastEditTime: 2021-12-01 11:08:33
 # @Description: shell中的变量
###

# 变量定义规则：
# （1）变量名和等号之间不能有空格
# （2）命名只能使用英文字母，数字和下划线，首个字符不能以数字开头
# （3）中间不能有空格，可以使用下划线 _
# （4）不能使用标点符号
# （5）不能使用bash里的关键字（可用help命令查看保留关键字）

tan=100

# 1、$取变量值,变量名外面的花括号是可选的，加不加都行，加花括号是为了帮助解释器识别变量的边界。
# 如在字符串中必须叫大括号引变量的值
echo ${tan}
echo $tan
echo "I love you ${tan} times"

# 2、变量可重定义
tan=199
echo $tan

# 3、定义只读变量
readonly myUrl="https://www.runoob.com"
echo $myUrl
# myUrl="hai" 此处错误

# 4、删除变量
unset tan
echo $tan

# 5、变量类型
# （1）局部变量 局部变量在脚本或命令中定义
# （2）环境变量
# （3）shell变量 shell变量是由shell程序设置的特殊变量

# 6、字符串：字符串可以用单引号，也可以用双引号，也可以不用引号
str1=tanxiaohai
echo $str1

str2='tanxiaohai'
echo $str2

str3="tanxiaohai"   # 双引号中可以有变量和转义字符
echo $str3

str4=$str1$str2     # 字符串直接挨在一起就是拼接
echo $str4

str5="love""you"
echo $str5

echo ${#str5}       # 获取字符串长度

echo ${str5:4:7}    # 提取子串(4,7]

echo `expr index "$str5" "y"`  # 查找字符位置
